package exception;
/**
 * finally块
 * finally块是异常处理机制的最后一个块，它可以保证只要程序执行到try语句块中，无论
 * try中的代码是否出现异常，finally块最后都必定执行。
 * 因此我们经常将释放资源这类收尾操作放到finally块中确保一定执行，例如:IO操作后的close()
 */
public class FinallyDemo {
    public static void main(String[] args) {
        System.out.println("程序开始了");
        try {
 //           String line = null;
            String line = "abc";
            System.out.println(line.length());
            return;
        }catch (Exception e){
            System.out.println("程序出错了");
        }finally {
            //finally中的代码一定执行
            System.out.println("finally中的代码执行了");
        }
        //这里未必会执行到，如果try中执行到return，那么方法下面的代码就不会执行

//        System.out.println("finally中的代码执行了");
        System.out.println("程序结束了");

    }
}
